home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-04-22 | 2.4 KB | 112 lines | [TEXT/MPS ] |
- %_SING proc export
- MOVEM.L D0-D4/A0-A2,-(A7)
-
- LEA $0024(A7),A0
- MOVE.W (A0),D0
- CLR.W (A0)
- MOVE.W D0,D1
- LSR.W #$4,D1
- MOVE.W D1,D2
- ADDQ.W #$1,D2
- MOVE.W D2,D3
- LSL.W #$1,D3
- MOVEA.L A7,A1
- SUBA.W D3,A7
- MOVEA.L A7,A2
- MOVE.W #$0012,D4
- MOVE.W (A1)+,(A2)+
- SUBQ.W #$1,D4
- BNE.S *-$0004 ; 00000022
- MOVEA.L A2,A0
- CLR.W (A2)+
- SUBQ.W #$1,D2
- BNE.S *-$0004 ; 0000002A
- MOVE.W D3,(A0)+
- CLR.W D2
- ANDI.W #$000F,D0
- BSET D0,D2
- MOVE.W D2,(A0)
- MOVEM.L (A7)+,D0-D4/A0-A2
- RTS
- endp
-
- %_UNION proc export
- CLR.L -(A7)
- MOVEM.L D0-D3/A0/A1,-(A7)
- LEA $0020(A7),A0
- MOVE.W (A0)+,D0
- ADDA.W D0,A0
- MOVEA.L A0,A1
- MOVE.W (A1)+,D1
- ADDA.W D1,A1
- MOVE.W D0,D3
- CMP.W D0,D1
- BGE.S *+$0004 ; 0000001C
- MOVE.W D1,D3
- LSR.W #$1,D3
- BRA.S *+$0006 ; 00000024
- MOVE.W -(A0),D2
- OR.W D2,-(A1)
- SUBQ.W #$1,D3
- BPL.S *-$0006 ; 00000020
- SUB.W D1,D0
- BEQ.S *+$0012 ; 0000003C
- BLT.S *+$000E ; 0000003A
- ADD.W D0,D1
- LSR.W #$1,D0
- MOVE.W -(A0),-(A1)
- SUBQ.W #$1,D0
- BGT.S *-$0004 ; 00000032
- BRA.S *+$0004 ; 0000003C
- ADDA.W D0,A1
- MOVE.W D1,-(A1)
- MOVEA.L $001C(A7),A0
- MOVE.L A0,-(A1)
- MOVE.L A1,$0018(A7)
- MOVEM.L (A7)+,D0-D3/A0/A1
- MOVEA.L (A7)+,A7
- RTS
- endp
-
- %_CAT proc export
- MOVEM.L D0-D2/A0-A2,-(A7)
- LEA $001C(A7),A1
- MOVE.W (A1)+,D0
- MOVEA.L (A1)+,A0
- MOVE.W D0,D2
- ADD.W D2,D2
- ADD.W D2,D2
- ADDA.W D2,A1
- CLR.W D1
- ADDQ.W #$1,A0
- BRA.S *+$0022 ; 0000003A
- MOVEA.L -(A1),A2
- CLR.W D2
- MOVE.B (A2)+,D2
- ADD.W D2,D1
- CMPI.W #$00FF,D1
- BLE.S *+$0010 ; 00000036
- SUBI.W #$00FF,D1
- SUB.W D1,D2
- MOVE.W #$00FF,D1
- BRA.S *+$0004 ; 00000036
- MOVE.B (A2)+,(A0)+
- DBF D2,*-$0002 ; 00000034
- DBF D0,*-$0020 ; 0000001A
- MOVEA.L -(A1),A0
- MOVE.B D1,(A0)
- MOVE.W -(A1),D0
- MOVEA.L A1,A0
- ADD.W D0,D0
- ADD.W D0,D0
- ADDA.W D0,A0
- ADDQ.W #$2,A0
- MOVE.L -(A1),(A0)
- MOVE.L A0,(A1)
- MOVEM.L (A7)+,D0-D2/A0-A2
- MOVEA.L (A7)+,A7
- RTS
- endp
-
- end
-